package com.iplay.thezen.mediator.eg;

/**
 * 抽象中介者，依赖于具体的同事类（如果是共同的执行方法，可以依赖倒置，依赖抽象同事类）
 * @author dangwu
 * @since 2021/9/11 5:30 下午
 */
public abstract class AbstractMediator {
    protected Purchase purchase;
    protected Sale sale;
    protected Stock stock;
    public AbstractMediator(){
        this.purchase = new Purchase(this);
        this.sale = new Sale(this);
        this.stock = new Stock(this);
    }

    /**
     * 中介者最重要的方法叫做事件方法，处理多个对象之间的关系
     * @param str
     * @param objects
     */
    public abstract void execute(String str,Object...objects);
}
